package eteam.aps.service;

import eteam.aps.model.dto.PackagingWarehouseDto;
import eteam.aps.model.entity.MocoRders;
import eteam.aps.model.vo.moco_rders.MocoRdersDisplayVo;

import java.util.List;
import java.util.Map;

/**
 * 包装入库 业务层
 *
 * @author LiuLei
 */
public interface PackagingWarehousingService {

    /**
     * 扫描包装产品信息
     *
     * @param scan     产品编号
     * @param quteType 保证类型
     * @return 产品信息
     * @throws Exception 异常
     */
    MocoRdersDisplayVo getMocoRdersPackage(String scan, Integer quteType) throws Exception;

    /**
     * 扫描入库产品信息
     *
     * @param scan 产品编号
     * @return 产品信息
     */
    MocoRders getMocoRdersWarehousing(String scan);

    /**
     * 包装入库
     *
     * @param map 保存参数
     * @return tradeid
     * @throws Exception 异常
     */
    String savePackagingWarehousing(Map<String, Object> map) throws Exception;

    /**
     * 条件查询 产品信息
     *
     * @param packagingWarehouseDto 条件
     * @return 产品信息
     */
    List<MocoRdersDisplayVo> getMocoRdersLisByQuery(PackagingWarehouseDto packagingWarehouseDto);

    /**
     * 根据条码号查询任务扫描信息
     *
     * @param scan 条码号
     * @return 任务令扫描信息
     */
    Map<String, Integer> getMocoRdersPackageScanSummary(String scan);

    /**
     * 修改条码状态
     *
     * @param scan 条码
     * @return 修改的条数
     */
    int updatePackagePackType(String scan) throws Exception;
}
